10 OPEN1,8,3,"WORTSCHATZ":OPEN15,8,15:REM WORTSCHATZ-DATEI OEFFNEN 20 INPUTSU$ 30 GOTO9500 9000 REM ZEIGER POSITIONIEREN -------------------------------------------------- 9001 : 9010 HB%=SA/256:LB%=SA-HB%*256 9020 PRINT#15,"P";CHR$(3);CHR$(LB%);CHR$(HB%);CHR$(1) 9030 INPUT#15,A:IFA=50THENPRINT"SATZNUMMER ZU HOCH" 9040 RETURN 9100 REM SATZ LESEN ------------------------------------------------------------ 9101 : 9110 IFA=50THENRETURN 9120 INPUT#1,A$ 9130 RETURN 9200 REM SATZ SCHREIBEN -------------------------------------------------------- 9201 : 9210 IFA=50THENRETURN 9220 PRINT#1,A$ 9230 RETURN 9300 REM SATZ-TEILBEREICH LESEN ------------------------------------------------ 9301 : 9310 IFA=50THENRETURN 9320 INPUT#1,A$ 9330 WA=VAL(MID$(A$,22,1)):REM WORTART 9332 WC=VAL(MID$(A$,23,3)):REM WORTCODE 9335 A$=LEFT$(A$,21) :REM WORT 9340 IFRIGHT$(A$,1)=""THENA$=LEFT$(A$,LEN(A$)-1):GOTO9340 9345 PRINTA$,LEN(A$) 9350 RETURN 9500 REM BINAERE SUCHROUTINE --------------------------------------------------- 9520 REM SU$=SUCHWORT 9540 SZ=197:N=INT(LOG(SZ)/LOG(2))+1 :REM MAXIMAL-FORMEL 9560 SA=(2^N)/2:REM MITTE DER GES.DAT 9565 GOSUB9000:GOSUB9300 :REM A$ LESEN 9580 N=N-1 :REM 1.ABFRAGE 9600 : 9620 REM SU$ MIT A$ VERGLEICHEN ------ 9623 : IFLEN(SU$)<3THEN9635 9625 : IFWA=1 AND SU$=LEFT$(A$,LEN(SU$)) THENPRINT"SU$=VERB:SATZ ";SA:END 9630 : IFWA=3 AND SU$=RIGHT$(A$,LEN(SU$))THENPRINT"SU$=OBJEKT:SATZ ";SA:END 9635 : IFWA=2 AND SU$=A$ THENPRINT"SU$=RICHTUNG:SATZ ";SA:END 9637 : IFWA=1 AND SU$=A$ THENPRINT"SU$=VERB:SATZ ";SA:END 9640 : IFSU$SZANDN>-1THENN=N-1:GOTO9660 :REM ''UEBERLAUF'' 9680 : SA=SA+(2^(N-1)):GOSUB9000:GOSUB9300 :REM ''HALBIEREN'' 9700 : 9720 :N=N-1 :REM NAECHST. HALBIEREN 9740 :IFN<0THENPRINT"SU$ GIBT'S NICHT! IN 1220":END :REM SU$ NICHT IN DATEI 9760 PRINT"SA=";SA;" N=";N :REM UNNOETIG !! 9780 :GOTO9600:REM NAECHST. SUCH-VERS.